#ifndef _HASH_TABLE_H_
#define _HASH_TABLE_H_
/**************************macro***********************************/
#define HASH_TABLE_SIZE_MIN		32
#define HASH_TABLE_SIZE_10		10
#define HASH_TABLE_SIZE_64		64
#define HASH_TABLE_SIZE_128		128
#define HASH_TABLE_SIZE_MAX		1024

/**************************struct***********************************/
typedef enum
{
	HASH_TABLE_RESULT_ERROR = -1,
	HASH_TABLE_RESULT_KEY_EXIST = 1,

}hx_hash_table_result;


typedef struct _hash_node
{
	char 	key[32];
	char 	*value;
	int 	value_len;
	struct _hash_node *pnext;
}hx_hash_node;

typedef struct
{
	hx_hash_node * hash_node[HASH_TABLE_SIZE_64];
}hx_hash_table;

/**************************function***********************************/
hx_hash_table * hash_table_create();
int hash_table_destroy(hx_hash_table *hash_table);


#endif
